home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / dlatrd.z / dlatrd
Encoding:
Text File  |  2002-10-03  |  7.3 KB  |  199 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAATTTTRRRRDDDD((((3333SSSS))))                                                          DDDDLLLLAAAATTTTRRRRDDDD((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLATRD - reduce NB rows and columns of a real symmetric matrix A to
  10.      symmetric tridiagonal form by an orthogonal similarity transformation Q'
  11.      * A * Q, and returns the matrices V and W which are needed to apply the
  12.      transformation to the unreduced part of A
  13.  
  14. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  15.      SUBROUTINE DLATRD( UPLO, N, NB, A, LDA, E, TAU, W, LDW )
  16.  
  17.          CHARACTER      UPLO
  18.  
  19.          INTEGER        LDA, LDW, N, NB
  20.  
  21.          DOUBLE         PRECISION A( LDA, * ), E( * ), TAU( * ), W( LDW, * )
  22.  
  23. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  24.      These routines are part of the SCSL Scientific Library and can be loaded
  25.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  26.      directs the linker to use the multi-processor version of the library.
  27.  
  28.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  29.      4 bytes (32 bits). Another version of SCSL is available in which integers
  30.      are 8 bytes (64 bits).  This version allows the user access to larger
  31.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  32.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  33.      only one of the two versions; 4-byte integer and 8-byte integer library
  34.      calls cannot be mixed.
  35.  
  36. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  37.      DLATRD reduces NB rows and columns of a real symmetric matrix A to
  38.      symmetric tridiagonal form by an orthogonal similarity transformation Q'
  39.      * A * Q, and returns the matrices V and W which are needed to apply the
  40.      transformation to the unreduced part of A. If UPLO = 'U', DLATRD reduces
  41.      the last NB rows and columns of a matrix, of which the upper triangle is
  42.      supplied;
  43.      if UPLO = 'L', DLATRD reduces the first NB rows and columns of a matrix,
  44.      of which the lower triangle is supplied.
  45.  
  46.      This is an auxiliary routine called by DSYTRD.
  47.  
  48.  
  49. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  50.      UPLO    (input) CHARACTER
  51.              Specifies whether the upper or lower triangular part of the
  52.              symmetric matrix A is stored:
  53.              = 'U': Upper triangular
  54.              = 'L': Lower triangular
  55.  
  56.      N       (input) INTEGER
  57.              The order of the matrix A.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAATTTTRRRRDDDD((((3333SSSS))))                                                          DDDDLLLLAAAATTTTRRRRDDDD((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      NB      (input) INTEGER
  75.              The number of rows and columns to be reduced.
  76.  
  77.      A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
  78.              On entry, the symmetric matrix A.  If UPLO = 'U', the leading n-
  79.              by-n upper triangular part of A contains the upper triangular
  80.              part of the matrix A, and the strictly lower triangular part of A
  81.              is not referenced.  If UPLO = 'L', the leading n-by-n lower
  82.              triangular part of A contains the lower triangular part of the
  83.              matrix A, and the strictly upper triangular part of A is not
  84.              referenced.  On exit:  if UPLO = 'U', the last NB columns have
  85.              been reduced to tridiagonal form, with the diagonal elements
  86.              overwriting the diagonal elements of A; the elements above the
  87.              diagonal with the array TAU, represent the orthogonal matrix Q as
  88.              a product of elementary reflectors; if UPLO = 'L', the first NB
  89.              columns have been reduced to tridiagonal form, with the diagonal
  90.              elements overwriting the diagonal elements of A; the elements
  91.              below the diagonal with the array TAU, represent the  orthogonal
  92.              matrix Q as a product of elementary reflectors.  See Further
  93.              Details.  LDA     (input) INTEGER The leading dimension of the
  94.              array A.  LDA >= (1,N).
  95.  
  96.      E       (output) DOUBLE PRECISION array, dimension (N-1)
  97.              If UPLO = 'U', E(n-nb:n-1) contains the superdiagonal elements of
  98.              the last NB columns of the reduced matrix; if UPLO = 'L', E(1:nb)
  99.              contains the subdiagonal elements of the first NB columns of the
  100.              reduced matrix.
  101.  
  102.      TAU     (output) DOUBLE PRECISION array, dimension (N-1)
  103.              The scalar factors of the elementary reflectors, stored in
  104.              TAU(n-nb:n-1) if UPLO = 'U', and in TAU(1:nb) if UPLO = 'L'.  See
  105.              Further Details.  W       (output) DOUBLE PRECISION array,
  106.              dimension (LDW,NB) The n-by-nb matrix W required to update the
  107.              unreduced part of A.
  108.  
  109.      LDW     (input) INTEGER
  110.              The leading dimension of the array W. LDW >= max(1,N).
  111.  
  112. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  113.      If UPLO = 'U', the matrix Q is represented as a product of elementary
  114.      reflectors
  115.  
  116.         Q = H(n) H(n-1) . . . H(n-nb+1).
  117.  
  118.      Each H(i) has the form
  119.  
  120.         H(i) = I - tau * v * v'
  121.  
  122.      where tau is a real scalar, and v is a real vector with
  123.      v(i:n) = 0 and v(i-1) = 1; v(1:i-1) is stored on exit in A(1:i-1,i), and
  124.      tau in TAU(i-1).
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. DDDDLLLLAAAATTTTRRRRDDDD((((3333SSSS))))                                                          DDDDLLLLAAAATTTTRRRRDDDD((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      If UPLO = 'L', the matrix Q is represented as a product of elementary
  141.      reflectors
  142.  
  143.         Q = H(1) H(2) . . . H(nb).
  144.  
  145.      Each H(i) has the form
  146.  
  147.         H(i) = I - tau * v * v'
  148.  
  149.      where tau is a real scalar, and v is a real vector with
  150.      v(1:i) = 0 and v(i+1) = 1; v(i+1:n) is stored on exit in A(i+1:n,i), and
  151.      tau in TAU(i).
  152.  
  153.      The elements of the vectors v together form the n-by-nb matrix V which is
  154.      needed, with W, to apply the transformation to the unreduced part of the
  155.      matrix, using a symmetric rank-2k update of the form:  A := A - V*W' -
  156.      W*V'.
  157.  
  158.      The contents of A on exit are illustrated by the following examples with
  159.      n = 5 and nb = 2:
  160.  
  161.      if UPLO = 'U':                       if UPLO = 'L':
  162.  
  163.        (  a   a   a   v4  v5 )              (  d                  )
  164.        (      a   a   v4  v5 )              (  1   d              )
  165.        (          a   1   v5 )              (  v1  1   a          )
  166.        (              d   1  )              (  v1  v2  a   a      )
  167.        (                  d  )              (  v1  v2  a   a   a  )
  168.  
  169.      where d denotes a diagonal element of the reduced matrix, a denotes an
  170.      element of the original matrix that is unchanged, and vi denotes an
  171.      element of the vector defining H(i).
  172.  
  173.  
  174. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  175.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  176.  
  177.      This man page is available only online.
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.